[新機能]dbt Cloudで指定した別のジョブの実行完了後にジョブをトリガーできるようになりました
さがらです。
dbt Cloudの最新機能として、指定した別のジョブの実行完了後にジョブをトリガーできる機能がリリースされました。
こちらの機能を試してみたので、本記事でまとめてみます。
やること
以前私がブログを書いたdbt Meshを構成する3つのdbt projectについて、本機能を使って順番にdbt build
を実行してみます。
より具体的にはsagara-jaffle-shop-mesh-platform
→sagara-jaffle-shop-mesh-finance
→sagara-jaffle-shop-mesh-marketing
、という順番で実行するようにジョブを設定します。
設定
sagara-jaffle-shop-mesh-platformでの設定
まず1つ目のジョブの設定です。
こちらは最初にbuildするdbt projectとなるため、これまで通りのジョブの設定を行います。
sagara-jaffle-shop-mesh-financeでの設定
次に、2つ目に実行するジョブの設定です。
こちらはsagara-jaffle-shop-mesh-platform
のあとにbuildする必要があるため、今回リリースされた新機能を使っていきます。
ジョブの設定のTriggers
欄のJob completion
のRun when another job finishes
にチェックを入れます。
すると、dbt projectを選択できるドロップダウンリストが表示されるため、1つ目のジョブを持つsagara-jaffle-shop-mesh-platform
を指定します。依存関係がある場合には区切られてdbt projectが表示されているため、わかりやすいですね!
次に、ジョブを選択するドロップダウンリストが表示されるため、sagara-jaffle-shop-mesh-platform
で定義したジョブを選択します。
Completes on
では、対象のジョブがどのステータスで完了したときを実行条件とするのか選択できます。ここではSuccess
のみを選択します。
ここまで設定を行ったら、Saveを押します。最終的に下図のような設定となりました。
sagara-jaffle-shop-mesh-marketingでの設定
最後に、3つ目となるジョブの設定です。
設定内容は2つ目のsagara-jaffle-shop-mesh-finance
とほぼ同じですが、sagara-jaffle-shop-mesh-finance
のジョブを指定するように注意します。
最終的には下図のような設定となりました。
ジョブを実行してみた
設定は完了したので、実際にジョブを実行してみます!
1つ目のジョブを持つsagara-jaffle-shop-mesh-platform
でジョブを手動実行します。
すると、無事に下図のようにジョブが続けて実行されました!2つ目と3つ目のジョブでは、左上のTrigger
欄に1つ前のジョブのIDが指定されていることがわかります。
- 1つ目となる
sagara-jaffle-shop-mesh-platform
のジョブ履歴
- 2つ目となる
sagara-jaffle-shop-mesh-finance
のジョブ履歴
- 3つ目となる
sagara-jaffle-shop-mesh-marketing
のジョブ履歴
最後に
簡単ではありましたが、dbt Cloudの最新機能として、指定した別のジョブの実行完了後にジョブをトリガーできる機能がリリースされたので試してみました。
これは待ち望んでいた方も多い機能だと思います!ぜひdbt Cloudをお使いの方は試してみてください。